FROM openjdk:17.0
ADD *.jar app-1.0.0.jar

#根据报错信息是缺少某个字体，而docker打包镜像默认是没有该字体；或者因为使用了openjdk而没有使用oraclejdk，缺少依赖
#RUN apk add --set font-adobe-100dpi ttf-dejavu fontconfig
# 更换国内源,否则太慢 v3.9可能需要更换
#RUN echo -e http://mirrors.ustc.edu.cn/alpine/v3.9/main/ > /etc/apk/repositories

RUN #apk add --update ttf-dejavu fontconfig

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Xmx1024m", "-Xms128m","-Xmn256m" ,"-Xss1M","/app-1.0.0.jar"]



#java -Xmx3550m -Xms3550m -Xmn2g -Xss128k
#   -Xmx3550m：设置JVM最大可用内存为3550M。
#   -Xms3550m：设置JVM促使内存为3550m。此值可以设置与-Xmx相同，以避免每次垃圾回收完成后JVM重新分配内存。
#   -Xmn2g：设置年轻代大小为2G。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m
#，所以增大年轻代后，将会减小年老代大小。此值对系统性能影响较大，Sun官方推荐配置为整个堆的3/8。
#   -Xss128k：设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M，以前每个线程堆栈大小为256K。
#更具应用的线程所需内存大小进行调整。在相同物理内存下，减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的，不能无限生成，经验值在3000~5000左右。